//
//  XLRuntimeTool.h
//  Demo
//
//  Created by tanqilong on 16/5/5.
//  Copyright © 2016年 Facebook. All rights reserved.
//  运行时工具

#import <Foundation/Foundation.h>
#import "RCTConvert.h"

@interface XLRuntimeTool : NSObject

/**
 *  通过实例地址调用实例方法
 *
 *  @param objPoint 实例地址的指针
 *  @param selName  方法的
 *  @param params   参数的数组(仅限制json格式)
 */
+(void)Object:(NSInteger)objPoint PerformSelector:(NSString *)selName JsonParams:(NSArray *)params;

///**
// *  通过实例地址调用实例方法
// *
// *  @param objPoint 实例地址的指针
// *  @param selName  方法的
// *  @param params   参数的数组(可以用React所支持的格式 数组的格式为[{key参数类型,value参数},{参数类型,参数}...])
// */
//+(void)Object:(NSInteger)objPoint PerformSelector:(NSString *)selName SpecialParams:(NSArray *)params;

/**
 *  通过实例地址调用实例方法
 *
 *  @param objPoint 实例地址的指针
 *  @param selName  方法的
 *  @param params   参数的数组(可以用React所支持的格式 数组的格式为[{key参数类型,value参数},{参数类型,参数}...])
 */
+(id)Object:(NSInteger)objPoint PerformSelector:(NSString *)selName SpecialParams:(NSArray *)params ReturnType:(NSString *)returnType;

/**
 *  通过类名执行执行静态方法
 *
 *  @param className 类名
 *  @param selName   方法名
 *  @param params    参数
 */
+(id)Class:(NSString *)className PerformSelector:(NSString *)selName JsonParams:(NSArray *)params ReturnType:(NSString *)returnType;

@end
